Variable bit rate LPC filter quantizing and inverse quantizing device and method

ABSTRACT

A device and a method for quantizing a LPC filter in the form of an input vector in a quantization domain, comprises a calculator of a first-stage approximation of the input vector, a subtractor of the first-stage approximation from the input vector to produce a residual vector, a calculator of a weighting function from the first-stage approximation, a warper of the residual vector with the weighting function, and a quantizer of the weighted residual vector to supply a quantized weighted residual vector. A device and a method for inverse quantizing of a LPC filter, comprises means for receiving coded indices representative of a first-stage approximation of a vector representative of the LPC filter in a quantization domain and of a quantized weighted residual version of the vector, a calculator of an inverse weighting function from the first-stage approximation, an inverse quantizer of the quantized weighted residual version of the vector to produce a weighted residual vector, a multiplier of the weighted residual vector by the inverse weighting function to produce a residual vector, and an adder of the first-stage approximation with the residual vector to produce the vector representative of the LPC filter in the quantization domain.

FIELD

The present invention relates to coding and decoding of a sound signal,for example an audio signal. More specifically, but not exclusively, thepresent invention relates to variable bit rate LPC (Linear PredictionCoefficients) filter quantizing and inverse quantizing device andmethod.

BACKGROUND

The demand for efficient digital speech and audio coding techniques witha good trade-off between subjective quality and bit rate is increasingin various application areas such as teleconferencing, multimedia, andwireless communication.

A speech coder converts a speech signal into a digital bit stream whichis transmitted over a communication channel or stored in a storagemedium. The speech signal to be coded is digitized, that is sampled andquantized using for example 16-bits per sample. A challenge of thespeech coder is to represent the digital samples with a smaller numberof bits while maintaining a good subjective speech quality. A speechdecoder or synthesizer converts the transmitted or stored bit streamback to a speech signal.

Code-Excited Linear Prediction (CELP) coding is one of the besttechniques for achieving a good compromise between subjective qualityand bit rate. The CELP coding technique is a basis for several speechcoding standards both in wireless and wireline applications. In CELPcoding, the speech signal is sampled and processed in successive blocksof L samples usually called frames, where L is a predetermined number ofsamples corresponding typically to 10-30 ms of speech. A linearprediction LP) filter is computed and transmitted every frame; the LPfilter is also known as LPC (Linear Prediction Coefficients) filter. Thecomputation of the LPC filter typically uses a lookahead, for example a5-15 ms speech segment from the subsequent frame. The L-sample frame isdivided into smaller blocks called subframes. In each subframe, anexcitation signal is usually obtained from two components, a pastexcitation and an innovative, fixed-code-book excitation. The pastexcitation is often referred to as the adaptive-codebook orpitch-codebook excitation. The parameters characterizing the excitationsignal are coded and transmitted to the decoder, where the excitationsignal is reconstructed and used as the input of the LPC filter.

In applications such as multimedia streaming and broadcast, it may berequired to encode speech, music, and mixed content at low bit rate. Forthat purpose, encoding models have been developed which combine a CELPcoding optimized for speech signals with transform coding optimized foraudio signals. An example of such models is the AMR-WB+ [1], whichswitches between CELP and TCX (Transform Coded excitation). In order toimprove the quality of music and mixed content, a long delay is used toallow for finer frequency resolution in the transform domain. InAMR-WB+, a so-called super-frame is used which consists of four CELPframes (typically 80 ms).

A drawback is that, although the CELP coding parameters are transmittedonce every 4 frames in AMR-WB+, quantization of the LPC filter isperformed separately in each frame. Also, the LPC filter is quantizedwith a fixed number of bits per frame in the case of CELP frames.

BRIEF DESCRIPTION OF THE DRAWINGS

In the appended drawings:

FIG. 1 is a block diagram illustrating an absolute and multi-referencedifferential LPC filter quantizer and quantizing method;

FIG. 2 is a schematic diagram illustrating an open-loop quantizationscheme;

FIG. 3 is a flow chart illustrating a device and method for determiningLPC filters to be transmitted in a configuration in which four (4) LPCfilters are used and transmitted in a super-frame;

FIG. 4a is a typical LPC analysis window and typical LPC analysis centerposition when one LPC filter is estimated per frame (or super-frame) inan LPC-based codec, wherein LPC0 corresponds to a last LPC filter of theprevious frame (or super-frame);

FIG. 4b is a typical LPC analysis window when four (4) LPC filters areestimated per frame (or super-frame) in an LPC-based codec, wherein theLPC analysis window is centered at the end of the frame;

FIG. 5 is a flow chart illustrating an example of an out-of-the-loopquantization scheme;

FIG. 6 is a schematic block diagram of a weighted algebraic LPCquantizer and quantizing method;

FIG. 7 is a schematic block diagram of a weighted algebraic LPC inversequantizer and quantizing method;

FIG. 8 is a schematic block diagram of a quantizer and quantizingmethod; and

FIG. 9 is a schematic block diagram of a decoder and decoding method.

DETAILED DESCRIPTION

According to non-restrictive illustrative embodiments of the presentinvention, there are provided:

A device for quantizing a LPC filter in the form of an input vector in aquantization domain, comprising: means for computing a first-stageapproximation of the input vector; means for subtracting the first-stageapproximation from the input vector to produce a residual vector; meansfor calculating a weighting function from the first-stage approximation;means for applying the weighting function to the residual vector; andmeans for quantizing the weighted residual vector to supply a quantizedweighted residual vector.

A device for quantizing a LPC filter in the form of an input vector in aquantization domain, comprising: a calculator of a first-stageapproximation of the input vector; a subtractor of the first-stageapproximation from the input vector to produce a residual vector; acalculator of a weighting function from the first-stage approximation; awarper of the residual vector with the weighting function; and aquantizer of the weighted residual vector to supply a quantized weightedresidual vector.

A device for quantizing a LPC filter in the form of an input vector in aquantization domain, comprising: a calculator of a first-stageapproximation of the input vector; a subtractor of the first-stageapproximation from the input vector to produce a residual vector; acalculator of a weighting function from the first-stage approximation; awarper of the residual vector with the weighting function; and aquantizer of the weighted residual vector to supply a quantized weightedresidual vector. The calculator of the first-stage approximation isselected from the group consisting of: an absolute quantizer of theinput vector; a quantizer of a previous LPC vector; a quantizer of afuture LPC vector; and an interpolator of previous quantized and/orfuture quantized LPC vectors; to give an estimate of the input vector.

A device for quantizing a LPC filter in the form of an input vector in aquantization domain, comprising: a calculator of a first-stageapproximation of the input vector; a subtractor of the first-stageapproximation from the input vector to produce a residual vector; acalculator of a weighting function from the first-stage approximation; awarper of the residual vector with the weighting function; and aquantizer of the weighted residual vector to supply a quantized weightedresidual vector. The calculator of the weighting function calculatesdifferent weights, and the warper applies the different weights tocomponents of the residual vector.

A device for quantizing a LPC filter in the form of an input vector in aquantization domain, comprising: a calculator of a first-stageapproximation of the input vector; a subtractor of the first-stageapproximation from the input vector to produce a residual vector; acalculator of a weighting function from the first-stage approximation; awarper of the residual vector with the weighting function; and aquantizer of the weighted residual vector to supply a quantized weightedresidual vector. The quantizer of the weighted residual vector comprisesa variable bit rate quantized.

A device for inverse quantizing of a LPC filter, comprising: means forreceiving coded indices representative of a first-stage approximation ofa vector representative of the LPC filter in a quantization domain, anda quantized weighted residual version of the vector; means forcalculating an inverse weighting function from the first-stageapproximation; means for inverse quantizing the quantized weightedresidual version of the vector to produce a weighted residual vector;means for applying the inverse weighting function to the weightedresidual vector to produce a residual vector; and means for adding thefirst-stage approximation with the residual vector to produce the vectorrepresentative of the LPC filter in the quantization domain.

A device for inverse quantizing of a LPC filter, comprising: means forreceiving coded indices representative of a first-stage approximation ofa vector representative of the LPC filter in a quantization domain, anda quantized weighted residual version of the vector; a calculator of aninverse weighting function from the first-stage approximation; aninverse quantizer of the quantized weighted residual version of thevector to produce a weighted residual vector; a multiplier of theweighted residual vector by the inverse weighting function to produce aresidual vector; and an adder of the first-stage approximation with theresidual vector to produce the vector representative of the LPC filterin the quantization domain.

A device for inverse quantizing of a LPC filter, comprising: means forreceiving coded indices representative of a first-stage approximation ofa vector representative of the LPC filter in a quantization domain, anda quantized weighted residual version of the vector; a calculator of aninverse weighting function from the first-stage approximation, aninverse quantizer of the quantized weighted residual version of thevector to produce a weighted residual vector; a multiplier of theweighted residual vector by the inverse weighting function to produce aresidual vector; and an adder of the first-stage approximation with theresidual vector to produce the vector representative of the LPC filterin the quantization domain. The received coded indices include an indexrepresentative of a quantization mode.

A device for inverse quantizing of a LPC filter, comprising: means forreceiving coded indices representative of a first-stage approximation ofa vector representative of the LPC filter in a quantization domain, anda quantized weighted residual version of the vector; a calculator of aninverse weighting function from the first-stage approximation; aninverse quantizer of the quantized weighted residual version of thevector to produce a weighted residual vector; a multiplier of theweighted residual vector by the inverse weighting function to produce aresidual vector; and an adder of the first-stage approximation with theresidual vector to produce the vector representative of the LPC filterin the quantization domain. The inverse quantizer of the quantizedweighted residual version of the vector comprises a variable bit rateinverse quantizer.

A method for quantizing a LPC filter in the form of an input vector in aquantization domain, comprising: computing a first-stage approximationof the input vector; subtracting the first-stage approximation from theinput vector to produce a residual vector; calculating a weightingfunction from the first-stage approximation; applying the weightingfunction to the residual vector; and quantizing the weighted residualvector to supply a quantized weighted residual vector.

A method for quantizing a LPC filter in the form of an input vector in aquantization domain, comprising: computing a first-stage approximationof the input vector; subtracting the first-stage approximation from theinput vector to produce a residual vector; calculating a weightingfunction from the first-stage approximation; applying the weightingfunction to the residual vector; and quantizing the weighted residualvector to supply a quantized weighted residual vector. Computing thefirst-stage approximation is selected from the group consisting of:absolute quantizing of the input vector; quantizing of a previous LPCvector; quantizing of a future LPC vector; and interpolating of previousquantized and/or future quantized LPC vectors to give an estimate of theinput vector.

A method for quantizing a LPC filter in the form of an input vector in aquantization domain, comprising: computing a first-stage approximationof the input vector; subtracting the first-stage approximation from theinput vector to produce a residual vector; calculating a weightingfunction from the first-stage approximation; applying the weightingfunction to the residual vector; and quantizing the weighted residualvector to supply a quantized weighted residual vector. Calculating aweighting function comprises calculating different weights, and applyingthe weighting function comprises applying the different weights tocomponents of the residual vector.

A method for quantizing a LPC filter in the form of an input vector in aquantization domain, comprising: computing a first-stage approximationof the input vector; subtracting the first-stage approximation from theinput vector to produce a residual vector; calculating a weightingfunction from the first-stage approximation; applying the weightingfunction to the residual vector; and quantizing the weighted residualvector to supply a quantized weighted residual vector. Quantizing theweighted residual vector comprises using a variable bit rate quantizer.

A method for inverse quantizing of a LPC filter, comprising: receivingcoded indices representative of a first-stage approximation of a vectorrepresentative of the LPC filter in a quantization domain, and aquantized weighted residual version of the vector; calculating aninverse weighting function from the first-stage approximation; inversequantizing the quantized weighted residual version of the vector toproduce a weighted residual vector; applying the inverse weightingfunction to the weighted residual vector to produce a residual vector;and adding the first-stage approximation with the residual vector toproduce the vector representative of the LPC filter in the quantizationdomain.

A method for inverse quantizing of a LPC filter, comprising: receivingcoded indices representative of a first-stage approximation of a vectorrepresentative of the LPC filter in a quantization domain, and aquantized weighted residual version of the vector; calculating aninverse weighting function from the first-stage approximation; inversequantizing the quantized weighted residual version of the vector toproduce a weighted residual vector; applying the inverse weightingfunction to the weighted residual vector to produce a residual vector;and adding the first-stage approximation with the residual vector toproduce the vector representative of the LPC filter in the quantizationdomain. The received coded indices include an index representative of aquantization mode.

A method for inverse quantizing of a LPC filter, comprising: receivingcoded indices representative of a first-stage approximation of a vectorrepresentative of the LPC filter in a quantization domain, and aquantized weighted residual version of the vector; calculating aninverse weighting function from the first-stage approximation; inversequantizing the quantized weighted residual version of the vector toproduce a weighted residual vector; applying the inverse weightingfunction to the weighted residual vector to produce a residual vector;and adding the first-stage approximation with the residual vector toproduce the vector representative of the LPC filter in the quantizationdomain. Inverse quantizing the quantized weighted residual version ofthe vector comprises variable bit rate inverse quantizing the quantizedweighted residual version of the vector.

The foregoing and other features of the present invention will becomemore apparent upon reading of the following non-restrictive descriptionof embodiments thereof, given by way of example only with reference tothe accompanying drawings.

Differential Quantization with a Choice of Possible References

Differential quantization with a choice between several possiblereferences is used. More specifically, a LPC filter is differentiallyquantized relative to several possible references.

Consecutive LPC filters are known to exhibit a certain degree ofcorrelation. To take advantage of this correlation, LPC quantizersgenerally make use of prediction. Instead of quantizing the vector ofLinear Prediction Coefficients (LPC vector) representing the LPC filterdirectly, a differential (or predictive) quantizer first computes apredicted value of this LPC vector and, then, quantizes the difference(often called prediction residual) between the original LPC vector andthe predicted LPC vector.

Prediction is normally based on previous values of the LPC filter. Twotypes of predictors are commonly used: moving average (MA) andauto-regressive (AR) predictors. Although AR predictors are often moreefficient in reducing the L2-norm (mean square) of the data to bequantized than MA predictors, the latter are sometimes useful becausethey are less prone to error propagation in case of transmission errors[2].

Since the L2-norm of the prediction residual is on average lower thanthe L2-norm of the original LPC vector (the ratio between the twodepending on the degree of predictability of the LPC filter), adifferential (or predictive) quantizer can achieve the same degree ofperformance as an absolute quantizer but at a lower bit rate.

On average, prediction is indeed efficient at reducing the L2-norm ofthe data to be quantized. This behavior is not constant however;prediction is much more efficient during stable segments of signal thanduring transitional segments. Prediction can even lead to increasedL2-norm values when the LPC filters change fast. Some performanceimprovement can be achieved by considering two different predictors, onefor highly predictive segments the other for less predictive segments[3, 4]. As mentioned in the foregoing description, this technique usesonly past values of the LPC filter.

To overcome this problem, it is proposed to differentially quantize aLPC filter relative to a reference, for example a reference filter,chosen among a number of possible references. The possible referencefilters are already quantized past or future LPC filters (henceavailable at the decoder as at the encoder), or the results of variousextrapolation or interpolation operations applied to already quantizedpast or future LPC filters. The reference filter that provides the lowerdistortion at a given rate, or the lower bit rate for a given targetdistortion level, is selected.

FIG. 1 is a block diagram illustrating a multi-reference LPC filterquantization device and method. A given LPC filter 101 represented by avector of Linear Prediction Coefficients is inputted to themulti-reference LPC filter quantization device and method. The input LPCfilter 101 is differentially quantized with respect to a referencechosen among a number of possible references 1, 2, . . . , n. Possiblereferences comprise:

past or future quantized LPC filters;

the result of extrapolation or interpolation operations applied to pastor future quantized LPC filters; or

any quantized value available both at the encoder and the decoder.

As a non-limitative example, the input LPC filter 101 can bedifferentially quantized with respect to the previous quantized LPCfilter, the following quantized LPC filter, or a mean value of those twoprevious and following quantized LPC filters. A reference can also be aLPC filter quantized using an absolute quantizer, or the result of anykind of interpolation, extrapolation or prediction (AR or MA) applied toalready quantized LPC filters.

Operations 102 and 103 ₁, 103 ₂, . . . , 103 _(n): Still referring toFIG. 1 , the input LPC filter 101 is supplied to an absolute quantizer(Operation 102) and to differential quantizers (Operations 103 ₁, 103 ₂,. . . , 103 _(n)). The absolute quantizer (Operation 102) quantizes theabsolute value (not a difference) of the input LPC filter 101. Thedifferential quantizers (Operations 103 ₁, 103 ₂, . . . , 103 _(n)) aredesigned to differentially quantize the input LPC filter 101 withrespect to respective references 1, 2, . . . n.

Operation 104: The multi-reference LPC filter quantization device andmethod of FIG. 1 comprises a selector for selecting a reference amongstthe references 1, 2, . . . , n that provides the lowest distortion levelat a given bit rate, or the lowest bit rate for a given targetdistortion level. More specifically, the selector (Operation 104) uses aselection criterion that minimizes the bit rate to achieve a certaintarget level of distortion, or that minimizes the level of distortionproduced at a given bit rate.

In Operation 104, the selection of a reference amongst references 1, 2,. . . , n to be actually used in the differential quantization processcan be performed in closed-loop or in open-loop.

In closed-loop, all possible references are tried and the reference thatoptimizes a certain criterion of distortion or bit rate is chosen. Forexample, the closed-loop selection can be based on minimizing a weightedmean-squared error between the input LPC vector and the quantized LCPvector corresponding to each reference. Also, the spectral distortionbetween the input LPC vector and the quantized LPC vector can be used.Alternatively, the quantization using the possible references can beperformed while maintaining a distortion under a certain threshold, andthe reference that both meets with this criterion and uses the smallernumber of bits is chosen. As will be explained in the followingdescription, a variable bit rate algebraic vector quantizer can be usedto quantize the scaled residual vector (difference between the input LPCvector and the reference) which uses a certain bit budget based on theenergy of the scaled residual vector. In this case, the reference whichyields the smaller number of bits is chosen.

In open-loop, the selector of Operation 104 predetermines the referencebased on the value of the Linear Prediction Coefficients of the inputLPC filter to be quantized and of the Linear Prediction Coefficients ofthe available reference LPC filters. For example, the L2-norm of theresidual vector is computed for all references and the reference thatyields the smaller value is chosen.

Operation 105: Following the selection of one of the references 1, 2, .. . , n by the Operation 104, a transmitter (Operation 105) communicatesor signals to the decoder (not shown) the quantized LPC filter (notshown) and an index indicative of the quantization mode (sub-operation1051), for example absolute or differential quantization. Also, whendifferential quantization is used, the transmitter (Operation 105)communicates or signals to the decoder indices representative of theselected reference and associated differential quantizer of Operations103 ₁, 103 ₂, . . . , 103 _(n) (sub-operation 105 ₂). Some specific bitsare transmitted to the decoder for such signaling.

Using a number of different possible references makes differentialquantization more efficient in terms of reduction of the L2-norm ofprediction residual compared to restricting to past values only as inconventional prediction. Also, for a given target level of distortion,this technique is more efficient in terms of average bit rate.

Switched Absolute or Differential Quantization

According to a second aspect, switched absolute/differential (orpredictive) quantization is used. FIG. 1 illustrates an example of anabsolute/differential scheme which selects between one absolutequantizer (Operation 102) and n differential quantizers (Operations 103₁, 103 ₂, . . . , 103 _(n)) using respective, different references 1, 2,. . . , n. Again, the selection of a quantizer can be made by theselector of Operation 104 amongst the absolute and differentialquantizers (Operations 102 and 103 ₁, 103 ₂, . . . , 103 _(n)), whereinthe selected quantizer will, according to the selection criterion,minimize the level of distortion produced at a given bit rate orminimize the bit rate to achieve a target level of distortion.

Some LPC filters can be coded using the absolute quantizer (Operation102). The other LPC filters are coded differentially with respect to oneor several reference LPC filters in the differential quantizers(Operations 103 ₁, 103 ₂, . . . , 103 _(n)).

The absolute quantizer (Operation 102) can be used as a safety-netsolution for the otherwise differentially quantized LPC filters, forexample in the case of large LPC deviations or when the absolutequantizer (Operation 102) is more efficient than the differentialquantizers (Operations 103 ₁, 103 ₂, . . . , 103 _(n)) in terms of bitrate. The reference LPC filter(s) can be all within the same super-frameto avoid introducing dependencies between super-frames which usuallypose problems in case of transmission errors (packet losses or frameerasures).

As explained in the foregoing description, the use of prediction in LPCquantization leads to a reduced L2-norm of the data to be quantized andconsequently to a reduction in average bit rate for achieving a certainlevel of performance. Prediction is not always equally efficienthowever. In switched LPC [3, 4], a pre-classification of the LPC filteris performed and different predictors are used depending on thepredictability of the LPC filter to be quantized. However this techniquehas been developed in the context of a fixed bit rate, the twodifferential quantizers requiring a same number of bits to code an LPCfilter.

Also, there may be provided one or several absolute quantizers(Operation 102). Moreover, there may be provided one or severaldifferential (predictive) quantizers (Operations 103 ₁, 103 ₂, . . . ,103 _(n)). Several differential quantizers (Operations 103 ₁, 103 ₂, . .. , 103 _(n)) involves several possible references such as 1, 2, . . . ,n and/or several differential quantizer sizes and/or structures.

As described in the foregoing description, when several differentialquantizers (Operations 103 ₁, 103 ₂, . . . , 103 _(n)) are used,selection of the actual differential quantizer to be used can beperformed in an open-loop or in a closed-loop selecting process.

When differential quantization fails to achieve a target level ofdistortion, or when absolute quantization requires a smaller number ofbits than differential quantization to achieve that level of distortion,absolute quantization is used as a safety-net solution. One or severalbits, depending on the number of possible absolute and differentialquantizers is (are) transmitted through the transmitter (Operation 105)to indicate to the decoder (not shown) the actual quantizer being used.

Absolute/differential quantization combines the advantages of predictivequantization (reduction in bit rate associated with the reduction of theL2-norm of the data to be quantized) with the generality of absolutequantization (which is used as a safety-net in case differential (orpredictive) quantization does not achieve a target, for exampleunnoticeable, level of distortion).

When several differential quantizers (Operations 103 ₁, 103 ₂, . . . ,103 _(n)) are included, these differential quantizers can make use ofeither a same predictor or different predictors. In particular, but notexclusively, these several differential quantizers can use the sameprediction coefficients or different prediction coefficients.

The decoder comprises means for receiving and extracting from the bitstream, for example a demultiplexer, (a) the quantized LPC filter and(b) the index (indices) or information:

about the quantization mode to determine if the LPC filter has beenquantized using absolute quantization or differential quantization; and

about the reference amongst the plurality of possible references thathas been used for quantizing the LPC filter.

If the information about the quantization mode indicates that the LPCfilter has been quantized using absolute quantization, an absoluteinverse quantizer (not shown) is provided for inverse quantizing thequantized LPC filter. If the information about the quantization modeindicates that the LPC filter has been quantized using differentialquantization, a differential inverse quantizer (not shown) thendifferentially inverse quantizes the multi-reference differentiallyquantized LPC filter using the reference corresponding to the extractedreference information.

Out-of-the-Loop Quantization Scheme

The AMR-WB+ codec is a hybrid codec that switches between a time-domaincoding model based on the ACELP coding scheme, and a transform-domaincoding model called TCX. The AMR-WB+ proceeds as follows [1]:

The input signal is segmented into super-frames of four (4) frames;

Each super-frame is encoded using a combination of four (4) possiblecoding modes, each coding mode covering a different duration:

ACELP (covering a duration of one (1) frame);

TCX256 (covering a duration of one (1) frame);

TCX512 (covering a duration of two (2) frames); and

TCX1024 (covering a duration of four (4) frames).

There are therefore 26 possible mode combinations to code eachsuper-frame.

For a given super-frame, the combination of modes which minimizes atotal weighted error is determined by a “closed-loop” mode selectionprocedure. More specifically, instead of testing the 26 combinations,the selection of the mode is performed through eleven (11) differenttrials (tree search, see Table 1). In AMR-WB+ codec, the closed-loopselection is based on minimizing the mean-squared error between theinput and codec signal in a weighted domain (or maximizing the signal toquantization noise ratio).

TABLE 1 The 11 trials for closed-loop mode selection in AMR-WB+ TrialFrame 1 Frame 2 Frame 3 Frame 4 1 ACELP 2 TCX256 3 ACELP 4 TCX256 5TCX512 6 ACELP 7 TCX256 8 ACELP 9 TCX256 10  TCX512 11  TCX1024

The LPC filters are one of the various parameters transmitted by theAMR-WB+ codec. Following are some key elements regarding thequantization and transmission of those LPC filters.

Although the different coding modes do not cover the same number offrames, the number of LPC filters transmitted to the decoder is the samefor all coding modes and equal to 1. Only the LPC filter correspondingto the end of the covered segment is transmitted. More specifically, inthe case of TCX1024, one (1) LPC filter is calculated and transmittedfor a duration of four (4) frames. In the case of TCX512, one (1) LPCfilter is calculated and transmitted for a duration of two (2) frames.In the case of TCX256 or ACELP, one (1) LPC filter is calculated andtransmitted for the duration of one (I) frame.

The AMR-WB+ codec uses a (first order moving-average) predictive LPCquantizer. The operation of the latter quantizer depends on thepreviously transmitted LPC filter, and consequently on the previouslyselected coding mode. Therefore, because the exact combination of modesis not known until the entire super-frame is coded, some LPC filters areencoded several times before the final combination of modes isdetermined.

For example, the LPC filter located at the end of frame 3 is transmittedto the decoder only when the third frame is encoded as ACELP or TCX256.It is not transmitted when frames 3 and 4 are jointly encoded usingTCX512. With regards to the LPC filter located at the end of frame 2, itis transmitted in all combinations of modes except in TCX1024.Therefore, the prediction performed when quantizing the last LPC filterof the super-frame depends on the combination of modes for the wholesuper-frame.

The principle of the disclosed technique is that the order in which theLPC filters are quantized is chosen so that, once the closed-loopdecision is finalized, the quantization information corresponding to theunnecessary LPC filters can be skipped from the transmission with noeffect on the way the other filters will be transmitted and decoded atthe decoder. For each LPC filter to be quantized using the differentialquantization strategy described above, this imposes some constraints onthe possible reference LPC filters.

The following example is given with reference to FIG. 2 .

Operation 1 of FIG. 2 : To avoid any inter super-frame dependencies, atleast one LPC filter is quantized using an absolute LPC quantizer. Sincefilter LPC4 of frame 4 of the super-frame is always transmitted whateverthe coding mode combination determined by the closed-loop selectionprocedure, it is convenient to quantize that filter LPC4 using anabsolute quantizer.

Operation 2 of FIG. 2 : The next LPC filter to be quantized is filterLPC2 of frame 2 of the super-frame which is transmitted for allcombinations of modes except for TCX1024. A differential quantizer canbe used, for example to code the difference between filter LPC2 and theabsolute quantized version of filter LPC4. The same absolute quantizeras used for coding filter LPC4 can also be used as a safety-netsolution, for example in the case of large LPC deviations or when theabsolute LPC quantizer is more efficient than the differential quantizerin terms of bit rate and/or level of distortion.

Operation 3 of FIG. 2 : The remaining two LPC filters (filter LPC1 offrame 1 of the super-frame and filter LPC3 of frame 3 of thesuper-frame) are also quantized using the same differential/absolutequantization strategy. Both LPC filters can be quantized relative to thequantized version of filter LPC2. Some alternative strategies are givenherein below.

FIG. 5 is a flow chart illustrating in more detail an example of anout-of-the-loop quantization scheme.

Operation 501: An absolute quantizer quantizes the filter LPC4.

Operation 502: Operation 512 is optional and used in a first LPC-basedcoding frame after a non-LPC-based coding frame. An absolute quantizerquantizes the filter LPC0 or a differential quantizer differentiallyquantizes the filter LPC0 relative to the quantized filter LPC4. Thefilter LPC0 is the last LPC filter (LPC4) from the previous super-frameand can be used as a possible reference for quantizing the filters LPC1to LPC4.

Operation 503: An absolute quantizer quantizes the filter LPC2 or adifferential quantizer differentially quantizes the filter LPC2 relativeto the quantized filter LPC4 used as reference.

Operation 504: An absolute quantizer quantizes the filter LPC1, adifferential quantizer differentially quantizes the filter LPC1 relativeto the quantized filter LPC2 used as reference, or a differentialquantizer differentially quantizes the filter LPC1 relative to(quantized filter LPC2+quantized filter LPC0)/2) used as reference.

Operation 505: An absolute quantizer quantizes the filter LPC3, adifferential quantizer differentially quantizes the filter LPC3 relativeto the quantized filter LPC2 used as reference, a differential quantizerdifferentially quantizes the filter LPC3 relative to quantized filterLPC4 used as reference, or a differential quantizer differentiallyquantizes the filter LPC3 relative to (quantized filter LPC2+quantizedfilter LPC4)/2) used as reference.

FIG. 3 is a flow chart illustrating determination of LPC filters to betransmitted in a configuration where four (4) LPC filters can becalculated and transmitted in a super-frame.

First of all it should be kept in mind that quantized filter LPC1 istransmitted only when ACELP and/or TCX256 is selected for the first halfof the super-frame. Similarly, filter LPC3 is transmitted only whenACELP and/or TCX256 is used for the second half of that super-frame.

Operation 301: Filter LPC1 of frame 1 of the super-frame, filter LPC2 offrame 2 of the super-frame, filter LPC3 of frame 3 of the super-frame,and filter LPC4 of frame 4 of the super-frame are quantized using forexample the quantization strategy illustrated and described in relationto FIGS. 2 and 5 . Of course, other quantization strategies arepossible.

Operation 302: Closed-loop selection of the coding modes as describedhereinabove is performed.

Operation 303: The quantized filter LPC4 is transmitted to the decoderfor example through the transmitter 105 of FIG. 1 . The decodercomprises:

means for receiving and extracting from the received bitstream, forexample a demultiplexer, the quantized filter LPC4; and

an absolute inverse quantizer supplied with the quantized filter LPC4for inverse quantizing the quantized filter LPC4.

Operation 304: If the super-frame is coded using mode TCX1024, nofurther transmission is required.

Operation 305: If the first, second, third and fourth frames of thesuper-frame are not coded using mode TCX1024, the quantized filter LPC2and an index indicative of one of the absolute quantization mode and thedifferential quantization mode are transmitted to the decoder forexample through the transmitter 105 of FIG. 1 . The decoder comprises:

means for receiving and extracting from the received bitstream, forexample a demultiplexer, the quantized filter LPC2 and the indexindicative of one of the absolute quantization mode and the differentialquantization mode; and

an absolute inverse quantizer supplied with the quantized filter LPC2and the index indicative of the absolute quantization mode for inversequantizing the quantized filter LPC2, or a differential inversequantizer supplied with the quantized filter LPC2 and the indexindicative of the differential quantization mode for inverse quantizingthe quantized filter LPC2.

Operation 306: If frames 1 and 2 of the super-frame are coded using modeTCX512, the quantized filter LPC1 is not transmitted to the decoder.

Operation 307: If frames 1 and 2 of the super-frame are not coded usingmode TCX512, i.e. if frames 1 and 2 of the super-frame are coded usingACELP or TCX256, the quantized filter LPC1, and an index indicative ofone of the absolute quantization mode, the differential quantizationmode relative to quantized filter LPC2 used as reference, and thedifferential quantization mode relative to (quantized filterLPC2+quantized filter LPC0)/2 used as reference are transmitted to thedecoder for example through the transmitter 105 of FIG. 1 . The decodercomprises:

means for receiving and extracting from the received bitstream, forexample a demultiplexer, the quantized filter LPC1, and the indexindicative of one of the absolute quantization mode, the differentialquantization mode relative to quantized filter LPC2 used as reference,and the differential quantization mode relative to (quantized filterLPC2+quantized filter LPC0)/2 used as reference; and

an absolute inverse quantizer supplied with the quantized filter LPC1and the index indicative of one of the absolute quantization mode, thedifferential quantization mode relative to quantized filter LPC2 used asreference, and the differential quantization mode relative to (quantizedfilter LPC2+quantized filter LPC0)/2) used as reference for inversequantizing the quantized filter LPC1.

Operation 308: If frames 3 and 4 of the super-frame are coded using modeTCX512, the quantized filter LPC3 is not transmitted to the decoder.

Operation 309: If frames 3 and 4 of the super-frame are not coded usingmode TCX512, i.e. if frames 3 and 4 of the super-frame are coded usingACELP or TCX256, the quantized filter LPC3 and the index indicative ofone of the absolute quantization mode, the differential quantizationmode relative to quantized filter LPC2 used as reference, thedifferential quantization mode relative to quantized filter LPC4 used asreference, and the differential quantization mode relative to (quantizedfilter LPC2+quantized filter LPC4)/2 used as reference are transmittedto the decoder for example through the transmitter 105 of FIG. 1 . Thedecoder comprises:

means for receiving and extracting from the received bitstream, forexample a demultiplexer, the quantized filter LPC3, and the indexindicative of one of the absolute quantization mode, the differentialquantization mode relative to quantized filter LPC2 used as reference,the differential quantization mode relative to quantized filter LPC4used as reference, and the differential quantization mode relative to(quantized filter LPC2+quantized filter LPC4)/2 used as reference; and

an absolute inverse quantizer supplied with the quantized filter LPC3and the index indicative of one of the absolute quantization mode, thedifferential quantization mode relative to quantized filter LPC2 used asreference, the differential quantization mode relative to quantizedfilter LPC4 used as reference, and the differential quantization moderelative to (quantized filter LPC2+quantized filter LPC4)/2 used asreference for inverse quantizing the quantized filter LPC3.

Some benefits of the above described solution comprise:

-   -   Quantizing the whole set of LPC filters prior to the closed-loop        selection of the coding modes saves complexity;    -   Using a differential quantizer in the global quantization scheme        preserves some of the bit rate saving that was gained by, for        example, the predictive quantizer in the original AMR-WB+        quantization scheme.

The following variants can be used to build the reference LPC filtersthat are used in the differential quantizers (Operations such as 103 ₁,103 ₂, . . . , 103 _(n)):

-   -   If inter super-frame dependency is not an issue, the last LPC        filter (LPC4) from the previous super-frame (LPC0) can be used        as a possible reference for encoding the filters LPC1 to LPC4;    -   When different reference LPC filters are available, for example        filter LPC0 and LPC4 when coding filter LPC2, a specific bit        pattern can be transmitted to the decoder to indicate which of        the references is actually used. For example, selection of the        reference can be performed as described hereinabove with        reference to FIG. 1 , for example on the basis of a distance or        a bit rate measurement.    -   When different reference LPC filters are available, additional        secondary reference LPC filters can be obtained by applying        various extrapolations or interpolations schemes to the already        available reference LPC filters. A specific bit pattern can be        transmitted to indicate the actual interpolation or        extrapolation strategy selected by the coder. For example,        filter LPC3 can be quantized differentially with respect to the        quantized versions of either filter LPC2 or LPC4, or even with        respect to an interpolated value (e.g. average) between these        two quantized filters LPC2 and LPC4 (see Operation 505 of FIG. 5        ).

The above described “out-of-the loop” quantization scheme can beextended to coding more than four (4) LPC filters: for example toquantize and transmit filter LPC0 together with the super-frame. In thatcase, filter LPC0 corresponding to the last LCP filter (LPC4) calculatedduring the previous super-frame could be, as a non-limitative example,be quantized relative to filter LPC4 since this filter LPC4 is alwaysavailable as a reference. Quantized filter LPC0 is transmitted to thedecoder along with an index indicative of one of the absolutequantization mode and the differential quantization mode. The decodercomprises:

means for receiving and extracting from the received bitstream, forexample a demultiplexer, the quantized filter LPC0, and the indexindicative of one of the absolute quantization mode and the differentialquantization mode; and

an absolute inverse quantizer supplied with the quantized filter LPC0and the index indicative of the absolute quantization mode for inversequantizing the quantized filter LPC0, or a differential inversequantizer supplied with the quantized filter LPC0, and the indexindicative of the differential quantization mode for inverse quantizingthe quantized filter LPC0.

Transmitting filter LPC0 to the decoder is useful to initialize anLPC-based codec in the case of switching from a non-LPC-based codingmode to an LPC-based coding mode. Examples of non-LPC-based coding modesare: pulse code modulation (PCM), and transform coding used for exampleby MP3 and by the advanced audio codec AAC. Examples of LPC-based codingmodes are: code excited linear prediction (CELP) and algebraic CELP(ACELP) used by the AMR-WB+ codec [1].

In LPC-based codecs, one or several LPC filters per frame (or persuper-frame) are estimated and transmitted to the decoder. When onesingle LPC filter per frame is estimated and transmitted, this LPCfilter is most often estimated using an LPC analysis window centered onthe end of the frame as represented in FIG. 4a. When several LPC filtersare transmitted per frame (or per super-frame as in the AMR-WB+ codec),they are most often estimated at regularly spaced positions over thelength of the frame as represented on FIG. 4b. Filter LPC0 in FIGS. 4aand 4b is in fact the last LPC filter of the previous frame (orsuper-frame) which is quantized and transmitted to the decoder.

Typical LPC-based codecs generally use interpolated values for the LPCfilters. In the example of FIG. 4a, for example, the LPC-based codecwould typically divide the frame into four (4) sub-frames and use adifferent interpolated LPC filter for each sub-frame, the LPC filter ofthe first sub-frame being closer to filter LPC0 and the LPC filter ofthe 4^(th) sub-frame being closer to filter LPC1.

In a codec which switches from a non-LPC-based coding mode to anLPC-based coding mode, the filter LPC0 used to operate the LPC-basedcodec is normally not available at the first frame following the switchfrom the non-LPC-based coding mode to the LPC-based coding mode.

In that context, it is proposed to provide a value for filter LPC0 whichis available both at the coder and the decoder when coding and decodingthe first frame after the switch from the non-LPC-based coding mode tothe LPC-based coding mode. More specifically, the value of the filterLPC0 is obtained at the decoder from the parameters transmitted from thecoder.

According to a first solution, the filter LPC0 is determined at thecoder (using LPC analysis well-know to those of ordinary skill in theart), quantized and transmitted to the decoder after the switch from thenon-LPC-based coding mode to the LPC-based coding mode has been decided.The decoder uses the transmitted quantized value and the filter LPC0. Toquantize the filter LPC0 efficiently, the out-of-the-loop quantizationscheme as described above, extended to more than four (4) LPC filterscan be used.

The following describes second and third solutions to estimate thefilter LPC0 at the decoder from transmitted parameters:

-   -   Estimation of the filter LPC0 from the other transmitted LPC        filters using, for example, extrapolation; and    -   Estimation of the filter LPC0 from the other transmitted        parameters. For example the filter LPC0 can be estimated by        applying the conventional LPC analysis procedure to the past        decoded signal, more specifically the output of the switched        decoder prior to the switch from the non-LPC-based coding mode        to the LPC-based coding mode.        Quantization with a Uniform Algebraic Vector Quantizer

The principle of stochastic vector quantization is to search a codebookof vectors for the nearest neighbor (generally in terms of Euclidiandistance or weighted Euclidian distance) of the vector to be quantized.When quantizing LPC filters in the LSF (Line Spectral Frequency) or ISF(Immitance Spectral Frequency) domains, a weighting Euclidian distanceis generally used, each component of the vector being weighteddifferently depending on its value and the value of the other components[5]. The purpose of that weighting is to make the minimization of theEuclidian distance behave as closely as possible to a minimization ofthe spectral distortion. Unlike a stochastic quantizer, a uniformalgebraic vector quantizer does not perform an exhaustive search of acodebook. It is therefore difficult to introduce a weighting function inthe distance computation.

In the solution proposed herein, the LPC filters are quantized, as anon-limitative example, in the LSF domain. Appropriate means forconverting the LPC filter in the LSF quantization domain to form theinput LSF vector are therefore provided. More specifically, the LSFresidual vector, i.e. the difference between the input LSF vector and afirst-stage approximation of this input LSF vector, is warped using aweighting function computed from the first-stage approximation, whereinthe first-stage approximation uses a stochastic absolute quantizer ofthe input LSF vector, a differential quantizer of the input LSF vector,an interpolator of the input LSF vector, or other element that gives anestimate of the input LSF vector to be quantized. Warping means thatdifferent weights are applied to the components of the LSF residualvector. Because the first-stage approximation is also available at thedecoder, the inverse weights can also be computed at the decoder and theinverse warping can be applied to the quantized LSF residual vector.Warping the LSF residual vector according to a model that minimizes thespectral distortion is useful when the quantizer is uniform. Thequantized LSFs received at the decoder are a combination of thefirst-stage approximation with a variable bit rate quantization, forexample AVQ (Algebraic Vector Quantization), refinement which isinverse-warped at the decoder.

Some benefits of the proposed solution are the following:

-   -   With a good weighting function, a uniform quantizer can provide        a relatively uniform spectral distortion.    -   The advantages of variable bit rate vector quantization, for        example AVQ (Algebraic Vector Quantization), over SVQ        (Stochastic Vector Quantization) are a smaller number of tables        (memory), less complexity and higher bit-rate granularity.    -   Another advantage in favor of variable bit rate vector        quantization, for example AVQ (Algebraic Vector Quantization),        is its unlimited codebook size; this guarantees the same        spectral distortion for any type of signal.

The general principle for the quantization of a given LPC filter isgiven in FIG. 6 . In this non-limitative example, the LPC filter isquantized in the LSF domain.

Operation 601: A calculator computes a first-stage approximation 608 ofthe input LSF vector 607.

Operation 602: A subtractor subtracts the first-stage approximation 608from Operation 601 from the input LSF vector 607 to produce a residualLSF vector 609.

Operation 603: A calculator derives a LSF weighting function 610 fromthe first-stage approximation 608 of Operation 601.

Operation 604: A multiplier, or warper, applies the LSF weightingfunction 610 from Operation 603 to the residual LSF vector 609 fromOperation 602.

Operation 605: A variable bit rate quantizer, for example an algebraicvector quantizer (AVQ) quantizes the resulting weighted residual LSFvector 611 to supply a quantized weighted residual LSF vector 612.

Operation 606: A multiplexer is responsive to the first-stageapproximation 608 from Operation 601 and the quantized weighted residualLSF vector 612 from Operation 605 to multiplex and transmit thecorresponding coded indices 613.

The first-stage approximation (Operation 601) can be calculated indifferent ways. As a non-limitative example, the calculator of thefirst-stage approximation 608 can be an absolute stochastic vectorquantizer of the input LSF vector 607 with a small number of bits, or adifferential quantizer of the input LSF vector 607 using a reference asexplained above where the first-stage approximation is the referenceitself. For example, when quantizing the vector LPC1 as in FIG. 5 ,Operation 504, the calculator of the first-stage approximation 608 canbe an absolute quantizer with 8 bits, or quantized filter LPC2 or(quantized filter LPC2+quantized filter LPC0)/2.

The calculation and purpose of the weighting function (Operation 603) isdescribed herein below.

The corresponding inverse quantizer is illustrated in FIG. 7 .

Operation 701: The coded indices 707 from the coder are demultiplexed bya demultiplexer.

Operation 702: The demultiplexed coded indices include the first-stageapproximation 708.

Operation 703: Since the first-stage approximation is available at thedecoder as at the coder (Operation 702), a calculator can be used tocalculate the inverse LSF weighting function 709.

Operation 704: Decoded indices 710 representative of the quantizedweighted residual LSF vector are supplied to a variable bit rate inversevector quantizer, for example an algebraic inverse vector quantizer(inverse AVQ) to recover the weighted residual LSF vector 711.

Operation 705: A multiplier multiplies the weighted residual LSF vector711 from Operation 704 by the inverse LSF weighting function 709 fromOperation 703 to recover the residual LSF vector 712.

Operation 706: An adder sums the first-stage approximation 708 fromOperation 702 with the residual LSF vector 712 from Operation 705 toform the decoded LSF vector 713. The decoded LSF vector 713 is acombination of the first-stage approximation from Operation 702 with thevariable bit rate inverse quantization refinement (Operation 704) whichis inverse-weighted (Operation 705) at the decoder.

First-Stage Approximation

As explained above a given LPC filter can be quantized using severalquantization modes including absolute quantization and differentialquantization using several references. The first-stage approximationdepends on the quantization mode. In the case of absolute quantization,the first-stage approximation can use a vector quantizer with a smallnumber of bits (e.g. 8 bits). In the case of differential quantization,the first-stage approximation constitutes the reference itself. Forexample, when quantizing the vector LPC3 as illustrated in FIG. 5(Operation 505), the first-stage approximation can be one of thefollowing:

-   -   8-bit VQ (absolute quantization);    -   Quantized filter LPC2 (differential quantization using quantized        filter LPC2 as reference);    -   Quantized filter LPC4 (differential quantization using quantized        filter LPC4 as reference); or    -   Average of quantized filters LPC2 and LPC4 (differential        quantization using (quantized filter LPC2+quantized filter        LPC4)/2 as reference).

As a non-limitative example, in the case of a p-th order LPC filterexpressed with LSF parameters, in the absolute quantization mode, thefirst-stage approximation is calculated using a p-dimensional, 8-bitstochastic vector quantizer applied to the input LSF vector. A codebooksearch uses a weighted Euclidian distance in which each component of thesquared difference between the input LSF vector and the codebook entryis multiplied by the weight wt(i). For example, the weight wt(i) can begiven by the following expression:

${{{wt}(i)} = {\frac{1}{d_{i}} + \frac{1}{d_{i + 1}}}},$i=0, . . . , p−1

with:d_(o)=f(0)d_(p)=SF/2−f(p−1)d_(i)=f(i)−f(i−1),i=1, . . . , p−1where f(i), i=0, . . . , p−1 is the input LSF vector to be quantized, pis the order of LP analysis, and SF is the internal sampling frequencyof the LPC-based codec (in Hz).

In the differential quantization modes, the first-stage approximation isbased on already quantized LPC filters.

As explained with reference to FIG. 5 , the set of LPC filters isquantized in the following order: LPC4, LPC2, LPC1 and then LPC3. Whenrequired, the optional filter LPC0 is quantized after the filter LPC4.Therefore differential quantization of filter LPC2 can only be done withrespect to LPC4, while differential quantization of filter LPC3 can bedone with respect to LPC2, LPC4 or a combination of both LPC2 and LPC4;LPC1 is not considered a good choice because it is not adjacent to LPC3.

For each first-stage approximation f_(1st)(i), the residual LSF vectoris calculated as:r(i)=f(i)−f_(1st)(i),i=0, . . . ,p−1

As shown in FIG. 6 , the residual LSF vector 609 from Operation 602 isweighted (Operation 604) with the weighting function 610 from Operation603 computed based on the first-stage approximation f_(1st)(i) to obtaina warped residual LSF vector 611 (Operation 604). The warped residualLSF vector 611 is then quantized using a variable bit rate quantizer,for example an algebraic vector quantizer (Operation 605).

For example, the weights applied to the components of the p-th residualLSF vector can be given by the following relation:

${{w(i)} = {\frac{1}{W}*\frac{400}{\sqrt{d_{i} \cdot d_{i + 1}}}}},$i=0, . . . , p−1

with:d_(o)=f_(1st)(0)d_(p)=SF/2−f_(1st)(p−1)where f_(1st)(i) is the first-stage approximation, SF is the internalsampling frequency in Hz of the LPC-based codec, and W is a scalingfactor which depends on the quantization mode. The value of W is chosenin order to obtain a certain target spectral distortion and/or a certaintarget average bit rate once the warped residual LSF vector is quantizedwith the variable bit rate quantizer. As a non-limitative example, thevariable bit rate vector quantizer chooses the bit rate for a certainvector based on its average energy.

In an illustrative example, the four (4) LPC filters in a super-frame,as well as the optional LPC0 filter are quantized according to FIG. 5 .Table 2 shows the used scaling factor for each quantization mode, andthe encoding of the mode index used in this example. Note that thequantization mode specifies which of the absolute or differentialquantization is used, and in case of differential quantization itspecifies the used reference filter. As explained above the referencefilter used in differential quantization is the actual first-stageapproximation for variable bit rate quantizing.

TABLE 2 Possible absolute and relative quantization modes andcorresponding bitstream signaling, and the scaling factor and theweighting function Quantization First stage Encoded Filter modeapproximation mode W LPC4 Absolute 8-bit VQ (none) 60 LPC0 Absolute8-bit VQ 0 60 Relative LPC4 Quantized LPC4 1 63 LPC2 Absolute 8-bit VQ 060 Relative LPC4 Quantized LPC4 1 63 LPC1 Absolute 8-bit VQ 00 60Relative Quantized 01 65 (LPC0 + LPC2)/2 (LPC0 + LPC2)/2 (Note 1)Relative LPC2 Quantized LPC2 10 64 LPC3 Absolute 8-bit VQ 10 60 RelativeQuantized 0 65 (LPC2 + LPC4)/2 (LPC2 + LPC4)/2 Relative LPC2 QuantizedLPC2 110 64 Relative LPC4 Quantized LPC4 111 64 (Note 1): in this mode,there is no second-stage AVQ quantizer

FIG. 8 is a schematic block diagram explaining the quantizationprocedure as described herein above.

Operations 801, 801 ₁, 801 ₂, . . . , 801 _(n): The input LSF vector 800is supplied to an absolute quantizer (Operation 801) for performing, forexample, a 8-bit absolute vector quantization of the input LSF vector800. The input LSF vector is also supplied to differential quantizers(Operations 801 ₁, 801 ₂, . . . , 801 _(n)) for performing differentialquantization of the input LSF vector 800. The differential quantizersuse respective, different references as explained in the foregoingdescription with reference to FIG. 1 . The 8-bit VQ in Operation 801 andreferences in Operations 801 ₁, 801 ₂, . . . , 801 _(n) represent thefirst-stage approximation.

In Operations 802, 802 ₁, 802 ₂, . . . , 802 _(n), a calculatorcalculates a residual LSF vector from the first stage approximationvector from the Operations 801, 801 ₁, 801 ₂, . . . , 801 _(n),respectively. The residual vector is calculated as the differencebetween the input vector and the first-stage approximation. Thiscorresponds to Operations 601 and 602 of FIG. 6 .

In Operations 803, 803 ₁, 803 ₂, . . . , 803 _(n), a calculatorcalculates a weighting function to warp the residual LSF vector from theOperations 802, 802 ₁, 802 ₂, . . . , 802 _(n), respectively. Thiscorresponds to Operations 601 and 603 of FIG. 6 .

In Operations 804, 804 ₁, 804 ₂, . . . , 804 _(n), a warper multipliesthe residual LSF vector from the Operations 802, 802 ₁, 802 ₂, . . . ,802 _(n), respectively, by the weighting function from the Operations803, 803 ₁, 803 ₂, . . . 803 _(n), respectively.

In Operations 805, 805 ₁, 805 ₂, . . . , 805 _(n) a variable bit ratequantizer, for example an algebraic vector quantizer (AVQ) quantizes theresulting weighted residual LSF vector from the Operations 804, 804 ₁,804 ₂, . . . , 804 _(n), respectively, to supply a quantized weightedresidual LSF vector.

In Operation 806, the selection of a quantization mode is performed by aselector amongst absolute quantization (Operation 801) and differentialquantization using one of the references 1, 2, . . . , n (Operations 801₁, 801 ₂, . . . , 801 _(n)). For example, Operation 806 could select thequantization mode (Operations 801, 801 ₁, 801 ₂, . . . , 801 _(n)) thatyields a lower distortion for a given bit rate or the lower bit rate fora target level of distortion. Regarding the selection amongst 8-bit VQand references 1, 2, . . . , n, the selection can be performed inclosed-loop or in open-loop. In closed-loop, all possible references aretried and the reference that optimizes a certain criterion of distortionor bit rate is chosen, for example the lower distortion for a given bitrate or the Lower bit rate for a target level of distortion. Inopen-loop, the Operation 806 predetermines the reference based on thevalue of the Linear Prediction Coefficients of the LPC filter to bequantized and of the Linear Prediction Coefficients of the availablereference LPC filters.

Operation 807: Following the selection in Operation 806, a transmitter(Operation 807) communicates or signals to the decoder (not shown) anindex indicative of:

-   -   the quantization mode (sub-operation 807 ₁), for example        absolute or differential quantization; and

in the case of differential quantization, of the selected reference andassociated differential quantizer of Operations 801 ₁, 801 ₂, . . . ,801 _(n) (sub-operation 807 ₂).

Some specific bits are transmitted to the decoder for such signaling.

Algebraic Vector Quantizer

A possible algebraic vector quantizer (AVQ) used for example inOperation 605 of FIG. 6 and Operations 805, 805 ₁, 805 ₂, . . . , 805_(n) of FIG. 8 is based on the 8-dimensional RE8 lattice vectorquantizer used to quantize the spectrum in TCX modes of AMR-WB+[1].

For a 16^(th) order LPC, each weighted residual LSF vector is split intotwo 8-dimensional sub-vectors B₁ and B₂. Each of these two sub-vectorsis quantized using the three-operation approach described below.

LSF vectors do not have all the same sensitivity to quantization error,whereby a certain quantization error applied to one LSF vector can havemore impact on spectral distortion than the same quantization errorapplied to another LSF vector. The weighting operation gives the samerelative sensitivity to all weighted LSF vectors. The AVQ has theparticularity of introducing the same level of quantization error to theweighted LSF vectors (uniform quantization error). When performing theinverse quantization, the inverse weighting which is applied toinverse-quantized weighted LSF vectors is also obviously applied to thequantization error. Thus, the originally uniform quantization error isdistributed among quantized LSF vectors, the more sensitive LSF vectorsacquiring a smaller quantization error and the less sensitive LSFvectors acquiring a larger quantization error. As a consequence, theimpact of quantization error on spectral distortion is minimized.

As explained in Reference [1], the RE8 quantizer uses a fixed andpredetermined quantization. As a consequence, the bit rate required toencode a subvector increases with the amplitude of this subvector.

The scaling factor W controls the amplitude of the weighted LSF vectors.Therefore, the scaling factor W also controls both the bit rate neededto quantize the LSF vector and the average spectral distortion.

First Operation: Find Nearest Neighbor in Lattice RE₈

In this first operation, an 8-dimensional sub-vector B_(k) is rounded asa point in the lattice RE₈, to produce its quantized version,{circumflex over (B)}_(k). Before looking at the quantization procedure,it is worthwhile to look at the properties of this lattice. The latticeRE₈ is defined as follows:RE₈=2D₈∪{2D₈+(1, . . . , 1)}that is as the union of a lattice 2D₈ and a version of the lattice 2D₈shifted by the vector (1, 1, 1, 1, 1, 1, 1, 1). Therefore, searching forthe nearest neighbour in the lattice RE₈ is equivalent to searching forthe nearest neighbour in the lattice 2D₈, then searching for the nearestneighbour in the lattice 2D₈+(1, 1, 1, 1, 1, 1, 1, 1), and finallyselecting the best of those two lattice points. The lattice 2D₈ is thelattice D₈ scaled by a factor of 2, with the lattice D₈ defined as:D₈={(x₁, . . . ,x₈)εZ⁸|x₁+ . . . +x₈ is even}That is, the points in the lattice D₈ are all integers, with theconstraint that the sum of all components is even. This also impliesthat the sum of the components of a point in lattice 2D₈ is an integermultiple of 4.

From this definition of lattice RE₈, it is straightforward to develop afast algorithm to search for the nearest neighbour of an 8-dimensionalsub-vector B_(k) among all lattice points in lattice RE₈. This can bedone by applying the following operations. The components of sub-vectorB_(k) are floating point values, and the result of the quantization,{circumflex over (B)}_(k), will be a vector of integers.

-   -   1. z_(k)=0.5*B_(k)    -   2. Round each component of z_(k) to the nearest integer, to        generate z _(k)    -   3. y1_(k)=2z _(k)    -   4. Calculate S as the sum of the components of y1_(k)    -   5. If S is not an integer multiple of 4 (negative values are        possible), then modify one of its components as follows: find        the position I where abs(z_(k)(i)−y1_(k)(i)) is the highest        if z_(k)(I)−y1_(k)(I)<0, then y1_(k)(I)=y1_(k)(I)−2        if z_(k)(I)−y1_(k)(I)>0, then y1_(k)(I)=y1_(k)(I)+2    -   6. z_(k)=0.5*(B_(k)−1.0) where 1.0 denotes a vector in which all        the components are 1's    -   7. Round each component of z_(k) to the nearest integer, to        generate z _(k)    -   8. y2_(k)=2z _(k)    -   9. Calculate S as the sum of the components of y2_(k)    -   10. If S is not an integer multiple of 4 (negative values are        possible), then modify one of its components as follows: find        the position I where abs(z_(k)(I)−y2_(k)(I)) is the highest        if z_(k)(I)−y2_(k)(I)<0, then y2_(k)(I)=y2_(k)(I)−2        if z_(k)(I)−y2_(k)(I)>0, then y2_(k)(I)=y2_(k)(I)+2    -   11. y2_(k)=y2_(k)+1.0    -   12. Compute e1_(k)=(B_(k)−y1_(k))² and e2_(k)=(B_(k)−y2_(k))²    -   13. If e1_(k)>e2_(k), then the best lattice point (nearest        neighbour in the lattice) is y1_(k) otherwise the best lattice        point is y2_(k).        {circumflex over (B)}_(k)=c_(k) where c_(k) is the best lattice        point as selected above.        Second Operation: Computation of the Indices

In the first operation, each 8-dimensional sub-vector B_(k) was roundedas a point in the lattice RE₈. The result is {circumflex over(B)}_(k)=c_(k), the quantized version of B_(k). In the present secondoperation an index is computed for each c_(k) for transmission to thedecoder. The computation of this index is performed as follows.

The calculation of an index for a given point in the lattice RE₈ isbased on two basic principles:

-   1. All points in the lattice RE₈ lie on concentric spheres of radius    √{square root over (8m)} with m=0, 1, 2, 3, etc., and each lattice    point on a given sphere can be generated by permuting the    coordinates of reference points called leaders. There are very few    leaders on a sphere, compared to the total number of lattice points    which lie on the sphere. Codebooks of different bit rates can be    constructed by including only spheres up to a given number m. See    Reference [6] for more details, where codebooks Q₀, Q₁, Q₂, Q₃, Q₄,    and Q₅ are constructed with respectively 0, 4, 8, 12, 16 and 20    bits. Hence, codebook Q_(n) requires 4n bits to index any point in    that codebook.-   2. From a base codebook C (i.e. a codebook containing all lattice    points from a given set of spheres up to a number m), an extended    codebook can be generated by multiplying the elements of the base    codebook C by a factor M, and adding a second-stage codebook called    the Voronoi extension. This construction is given by y=Mz+v, where M    is the scale factor, z is a point in the base codebook and v is the    Voronoi extension. The extension is computed in such a way that any    point y=Mz+v is also a point in the lattice RE₈. The extended    codebook includes lattice points that extend further out from the    origin than the base codebook.

In the present case, the base codebook C in the LPC quantizer can beeither codebook Q₀, Q₂, Q₃ or Q₄ from Reference [6]. When a givenlattice point c_(k) is not included in these base codebooks, the Voronoiextension is applied, using this time only the codebook Q₃ or Q₄. Notethat here, Q₂⊂Q₃ but Q₃⊂Q₄.

Then, the calculation of the index for each lattice point c_(k),obtained in the first operation, is performed according to the followingoperations.

-   -   Verify if c_(k) is in the base codebook C. This implies        verifying if c_(k) is an element of codebooks Q₀, Q₂, Q₃ or Q₄        from Reference [6].        -   If c_(k) is an element of the base codebook C, the index            used to encode c_(k) is thus the codebook number n_(k) plus            the index I_(k) of the codevector c_(k) in the codebook            Q_(n) _(k) . The codebook number n_(k) is encoded as            described in a third operation. The index I_(k) indicates            the rank of the codevector c_(k), i.e. the permutation to be            applied to a specific leader to obtain c_(k) (see Reference            [7]). If n_(k)=0, then I_(k) uses no bits. Otherwise, the            index I_(k) uses 4n_(k) bits.        -   If c_(k) is not in the base codebook, then apply the Voronoi            extension through the following sub-operations, using this            time only the codebook Q₃ or Q₄ as the base codebook.        -   V0 Set the extension order r=1 and the scale factor            M=2^(r)=2.        -   V1 Compute the Voronoi index k of the lattice point c_(k).            The Voronoi index k depends on the extension order r and the            scale factor M. The Voronoi index is computed via modulo            operations such that k depends only on the relative position            of c_(k) in a scaled and translated Voronoi region:            k=mod_(M)(c_(k)G⁻¹).            -   where G is the generator matrix and mod_(M)(•) is the                component-wise modulo-M operation. Hence, the Voronoi                index k is a vector of integers with each component                comprised in the interval 0 to M−1.        -   V2 Compute the Voronoi codevector v from the Voronoi            index k. This can be implemented using an algorithm as            described in reference [8].        -   V3 Compute the difference vector w=c_(k)−v. This difference            vector w always belongs to the scaled lattice m∧, where ∧ is            the lattice RE₈. Compute z=w/M, i.e., apply the inverse            scaling to the difference vector w. The codevector z belongs            to the lattice ∧ since w belongs to M∧.        -   V4 Verify if z is in the base codebook C (i.e. in Q₃ or Q₄)            -   If z is not in the base codebook C, increment the                extension order r by 1, multiply the scale factor M by                2, and go back to sub-operation V1. Otherwise, if z is                in the base codebook C, then an extension order r and a                scaling factor M=2^(r) sufficiently large to encode the                index of c_(k) has been found. The index is formed of                three parts: 1) the codebook number n_(k) as a unary                code defined below; 2) the rank I_(k) of z in the                corresponding base codebook (either Q₃ or Q₄); and 3)                the 8 indices of the Voronoi index vector k calculated                in sub-operation V1, where each index requires exactly r                bits (r is the Voronoi extension order set in                sub-operation V0). The codebook number n_(k) is encoded                as described in the third operation.

The lattice point c_(k) is then described as:c_(k)=Mz+v.Third Operation: Variable Length Coding of the Codebook Numbers

The codebook numbers n_(k) are encoded using a variable-length codewhich depends on the position of the LPC filter and on the quantizationmode, as indicated in Table 3.

TABLE 3 Coding modes for codebook numbers n_(k) Filter Quantization moden_(k) mode LPC4 Absolute 0 LPC0 Absolute 0 Relative LPC4 3 LPC2 Absolute0 Relative LPC4 3 LPC1 Absolute 0 Relative (LPC0 + LPC2)/2 1 RelativeLPC2 2 LPC3 Absolute 0 Relative (LPC2 + LPC4)/2 1 Relative LPC2 2Relative LPC4 2n_(k) modes 0 and 3:

The codebook number n_(k) is encoded as a variable length code, asfollows:

-   -   Q₂→the code for n_(k) is 00    -   Q₃→the code for n_(k) is 01    -   Q₄→the code for n_(k) is 10

Others: the code for n_(k) is 11 followed by:

-   -   Q₅→0    -   Q₆→10    -   Q₇→1110    -   Q₈→11110    -   etc.        n_(k) Mode 1:

The codebook number n_(k) is encoded as a unary code, as follows:

-   -   Q₀→unary code for n_(k) is 0    -   Q₂→unary code for n_(k) is 10    -   Q₃→unary code for n_(k) is 110    -   Q₄→unary code for n_(k) is 1110    -   etc.        n_(k) Mode 2:

The codebook number n_(k) is encoded as a variable length code, asfollows:

-   -   Q₂→the code for n_(k) is 00    -   Q₃→the code for n_(k) is 01    -   Q₄→the code for n_(k) is 10

Others: the code for n_(k) is 11 followed by:

-   -   Q₀→0    -   Q₅→10    -   Q₆→110    -   etc.        Quantization Mode Decision

For each LSF vector, all possible absolute and differential quantizationmodes as described in Table 2 are each tried and, for example, thequantization mode which requires the minimum number of bits is selected.The encoded quantization mode and the corresponding set of quantizationindices are transmitted to the decoder.

As mentioned in the foregoing description, the actual number ofquantized LPC filters transmitted from the coder to the decoder is notfixed but rather depends on the ACELP/TCX decision taken at the coder.For example, long TCX (TCX1024) requires only the transmission ofquantized filter LPC4 while any combination involving ACELP or short TCX(TCX256) requires the transmission of all four (4) quantized LPC filtersLPC1 to LPC4. Only the quantized LPC filters that are required by theACELP/TCX mode configuration are actually transmitted.

Decoding Process of Algebraic Vector Quantizer

As mentioned herein above, the actual number of quantized LPC filterscoded within the bitstream depends on the ACELP/TCX mode combination ofthe super-frame. The ACELP/TCX mode combination is extracted from thebitstream and determines the coding modes, mod [k] for k=0 to 3, of eachof the four (4) frames composing the super-frame. The mode value is 0for ACELP, 1 for TCX256, 2 for TCX512, 3 for TCX1024.

In addition to the one (1) to four (4) quantized LPC filters of thesuper-frame, the above described, optional quantized filter LPC0 istransmitted for the first super-frame of each segment coded using thelinear-prediction based codec.

The order in which the quantized LPC filters are normally found in thebitstream is: LPC4, the optional LPC0, LPC2, LPC1, and LPC3.

The condition for the presence of a given LPC filter within thebitstream is summarized in Table 4.

TABLE 4 Condition for the presence of a given LPC filter in thebitstream LPC filter Present if LPC0 1st super-frame encoded using LPLPC1 mod[0] < 2 LPC2 mod[2] < 3 LPC3 mod[2] < 2 LPC4 Always

FIG. 9 is a schematic block diagram summarizing the decoding process.

Operations 901 and 902: The decoder comprises means for receiving andextracting, for example a demultiplexer, from the received bit streamthe quantization indices corresponding to each of the quantized LPCfilters required by the ACELP/TCX mode combination. For a givenquantized LPC filter, a determiner of quantization mode extracts fromthe bit stream received from the coder the index or information relatedto the quantization mode, and determines whether the quantization modeis the absolute or differential quantization mode as indicated in Table2.

Operations 903 and 905: When Operations 901 and 902 determine that thequantization mode is the absolute quantization mode, an extractorextracts from the bit stream the index or indices corresponding to thestochastic VQ-quantized first-stage approximation (Operation 903). Acalculator then computes the first-stage approximation throughinverse-quantization (Operation 905).

Operations 904 and 905: When Operations 901 and 902 determine that thequantization mode is the differential quantization mode (not theabsolute quantization mode), an extractor extracts from the bit streamthe indices or information representative of the reference amongst theplurality of possible references, for example the reference LPC vector(Operation 904). The calculator then computes from this information thefirst-stage approximation as described with reference to Table 2(Operation 905).

In Operation 906, an extractor of VQ information extracts from the bitstream received from the coder variable bit rate VQ information, forexample AVQ information. More specifically, as a non-limitative example,the AVQ information for the two residual LSF sub-vectors {circumflexover (B)}_(k) are extracted from the bit stream. The AVQ informationnormally comprises two encoded codebook numbers and the correspondingAVQ indices. The only exception is when filter LPC1 is differentiallyquantized relative to (quantized filter LPC0+quantized filter LPC2)/2,since in this case there is no AVQ information present in the bitstream. In the case of the latter exception, the quantized LSF vector909 is outputted as the first-stage approximation from Operation 905.

Operation 907: An inverse algebraic vector quantizer receives theextracted AVQ information from Operation 906 to inverse quantize, orinverse weight and recover the AVQ contribution.

Decoding of AVQ Indices

Decoding the LPC filters involves decoding the extracted AVQinformation, for example the AVQ parameters describing each quantizedsub-vector {circumflex over (B)}_(k) of the weighted residual LSFvector. In the foregoing example, each sub-vector B_(k) has a dimension8. The AVQ parameters for each sub-vector B_(k) are described in thesecond operation of the above described algebraic vector quantization.For each quantized sub-vector {circumflex over (B)}_(k), three sets ofbinary indices are sent by the coder to the decoder:

-   -   a) the codebook number n_(k), transmitted using an entropy code        as described in the third operation of the above described        algebraic vector quantization;    -   b) the rank I_(k) of a selected lattice point z in a base        codebook, which indicates what permutation has to be applied to        a specific leader (see second operation of the above described        algebraic vector quantization) to obtain a lattice point z; and    -   c) if the quantized sub-vector B_(k) (a lattice point in lattice        RE₈) was not in the base codebook, the 8 indices of the Voronoi        extension index vector k calculated in sub-operation V1 of the        second operation of the above described algebraic vector        quantization; from the Voronoi extension indices, an extension        vector v can be computed as taught by Reference [8]. The number        of bits in each component of index vector k is given by the        extension order r, which can be obtained from the code value of        index n_(k). The scaling factor M of the Voronoi extension is        given by M=2^(r).

Then, from the scaling factor M, the Voronoi extension vector v (alattice point in lattice RE₈) and the lattice point z in the basecodebook (also a lattice point in lattice RE₈), each quantized scaledsub-vector {circumflex over (B)}_(k) can be computed using the followingrelation:{circumflex over (B)}_(k)=Mz+v.

When there is no Voronoi extension (i.e. n_(k)<5, M=1 and z=0), the basecodebook is either codebook Q₀, Q₂, Q₃ or Q₄ from Reference [6]. No bitsare then required to transmit vector k. Otherwise, when Voronoiextension is used because {circumflex over (B)}_(k) is large enough,then only Q₃ or Q₄ from Reference [6] is used as a base codebook. Theselection of Q₃ or Q₄ is implicit in the codebook number value n_(k), asdescribed in the second operation of the above described algebraicvector quantization.

Operation 908: An adder sums the first-stage approximation fromOperation 905 to the inverse-weighed AVQ contribution from Operation 907to reconstruct and recover the quantized LSF vector 909.

Although the present invention has been defined in the foregoingdescription by means of illustrative embodiments thereof, theseembodiments can be modified at will, within the scope of the appendedclaims, without departing from the spirit and nature of the presentinvention.

REFERENCES

-   [1] 3GPP Technical Specification TS 26.290, “Audio Codec Processing    Functions; Extended Adaptive Multi-Rate-Wideband (AMR-WB+) Codec;    Transcoding Functions,” June 2005.-   [2] J. Skoglund, J. Linden, “Predictive VQ for Noisy Channel    Spectrum Coding: AR Or MA?,” IEEE 1997 International Conference on    Acoustics, Speech, and Signal Processing (ICASSP'97), pp. 1351-1354,    Munich, Germany, Apr. 21-24, 1997.-   [3] H. Zarrinkoub, P. Mermelstein, “Switched Prediction and    Quantization of LSP Frequencies,” IEEE 1996 International Conference    on Acoustics, Speech, and Signal Processing (ICASSP'96), Vol. 2, pp.    757-760, 7-10 May 1996.-   [4] A. V. McCree, “Method for Switched-Predictive Quantization,”    U.S. Pat. No. 6,122,608.-   [5] R. Laroia, N. Phamdo, and N. Farvardin, “Robust and Efficient    Quantization of Speech LSP Parameters Using Structured Vector    Quantizers,” IEEE Int. Conf. on Acoustics, Speech and Signal    Processing (ICASSP'1991), pp. 641-644, Washington, D.C., Apr. 14-17,    1991.-   [6] M. Xie and J.-P. Adoul, “Embedded Algebraic Vector Quantization    (EAVQ) with Application to Wideband Audio Coding,” IEEE    International Conference on Acoustics, Speech, and Signal Processing    (ICASSP), Atlanta, Ga., U.S.A., Vol. 1, pp. 240-243, 1996.-   [7] P. Rault, C. Guillemot, “Indexing Algorithm for Zn, An, Dn and    Dn++ Lattice Vector Quantizers,” IEEE Transactions on Multimedia,    Vol. 3, No. 4, December 2001.-   [8] J. H. Conway and N. J. A. Sloane, “A Fast Encoding Method for    Lattice Codes and Quantizers,” IEEE Trans. Inform. Theory, Vol.    IT-29, No. 6, pp. 820-824, November 1983.

What is claimed is:
 1. A device for quantizing a LPC filter in the formof an input vector in a quantization domain, comprising: a plurality ofquantization modules using respective, distinct quantization modes,wherein the quantization modes include an absolute quantization mode anddifferential quantization modes, wherein the differential quantizationmodes use respective, different references each based on a previouslyquantized LPC filter or a combination of previously quantized LPCfilters, and wherein each quantization module comprises: a calculator ofa first-stage approximation of the input vector, wherein the first stageapproximation includes (a) the result of absolute quantization of theinput vector in the case of the absolute quantization mode and (b) thereference in the case of the differential quantization modes; asubtractor of the first-stage approximation from the input vector toproduce a residual vector; a calculator of weights of a weightingfunction using a mathematical relation including the first-stageapproximation as a variable; a warper of the residual vector by applyingthe weights of the weighting function to the residual vector; and aquantizer of the weighted residual vector to supply a quantized weightedresidual vector; and a quantization mode selector configured to selectone of the quantization modules and the corresponding quantization modebased on a level of distortion.
 2. An LPC filter quantizing deviceaccording to claim 1, further comprising means for converting the LPCfilter in the quantization domain to form the input vector.
 3. An LPCfilter quantizing device according to claim 1, further comprising amultiplexer of the first-stage approximation of the input vector and thequantized weighted residual vector.
 4. An LPC filter quantizing deviceaccording to claim 1, wherein the calculator of the weights of theweighting function uses the first-stage approximation and a scalingfactor which is dependent upon the quantization mode selected by thequantization mode selector to calculate the weights.
 5. An LPC filterquantizing device according to claim 4, wherein the scaling factor has avalue chosen to attain at least one of a certain average bit rate and acertain average distortion.
 6. An LPC filter quantizing device accordingto claim 1, wherein the quantization domain is a line spectral frequencydomain.
 7. An LPC filter quantizing device according to claim 1, whereinthe weighting function uses a scaling factor based on a type of the LPCfilter and on a selected quantization mode.
 8. An LPC filter quantizingdevice according to claim 1, wherein the quantization mode selector isconfigured to select the quantization mode providing a lower level ofdistortion for a given bit rate.
 9. An LPC filter quantizing deviceaccording to claim 1, wherein the quantization mode selector isconfigured to select the quantization mode providing a lower bit ratefor a target level of distortion.
 10. A device for quantizing a LPCfilter in the form of an input vector in a quantization domain,comprising: a plurality of quantization modules using respective,distinct quantization modes, wherein the quantization modes include anabsolute quantization mode and differential quantization modes, whereinthe differential quantization modes use respective, different referenceseach based on a previously quantized LPC filter or a combination ofpreviously quantized LPC filters, and wherein each quantization modulecomprises: a calculator of a first-stage approximation of the inputvector, wherein the first stage approximation includes (a) the result ofabsolute quantization of the input vector in the case of the absolutequantization mode and (b) the reference in the case of the differentialquantization modes; a subtractor of the first-stage approximation fromthe input vector to produce a residual vector; a calculator of weightsof a weighting function using a mathematical relation including thefirst-stage approximation as a variable; a warper of the residual vectorby applying the weights of the weighting function to the residualvector; and a quantizer of the weighted residual vector to supply aquantized weighted residual vector; and a quantization mode selectorconfigured to select one of the quantization modules and thecorresponding quantization mode based on a level of distortion; wherein,in each of the quantization modules, the quantizer of the weightedresidual vector comprises a variable bit rate quantizer.
 11. An LPCfilter quantizing device according to claim 10, wherein the variable bitrate quantizer comprises an algebraic vector quantizer.
 12. A device forinverse quantizing a LPC filter quantized in an encoder, in the form ofan input vector in a quantization domain, by a LPC filter quantizingdevice comprising (a) a plurality of quantization modules usingrespective, distinct quantization modes, wherein the quantization modesinclude an absolute quantization mode and differential quantizationmodes, wherein the differential quantization modes use respective,different references each based on a previously quantized LPC filter ora combination of previously quantized LPC filters, and wherein eachquantization module comprises (i) a calculator of a first-stageapproximation of the input vector, wherein the first stage approximationincludes the result of absolute quantization of the input vector in thecase of the absolute quantization mode and the reference in the case ofthe differential quantization modes, (ii) a subtractor of thefirst-stage approximation from the input vector to produce a residualvector, (iii) a calculator of weights of a weighting function using amathematical relation including the first-stage approximation as avariable, (iv) a warper of the residual vector by applying the weightsof the weighting function to the residual vector, and (v) a quantizer ofthe weighted residual vector to supply a quantized weighted residualvector; and (b) a quantization mode selector configured to select one ofthe quantization modules and the corresponding quantization mode basedon a level of distortion, the LPC filter inverse quantizing devicecomprising: a demultiplexer for receiving, from the encoder, and fordemultiplexing coded indices representative of (a) the first-stageapproximation from the selected quantization module, (b) the selectedquantization mode, and (c) the quantized weighted residual vector fromthe selected quantization module; a determiner of the selectedquantization mode using the demultiplexed coded indices; a calculator ofthe first-stage approximation in response to the demultiplexed codedindices, and as a function of the determined quantization mode; acalculator of an inverse weighting function from the first-stageapproximation; an inverse quantizer of the quantized weighted residualvector responsive to the demultiplexed coded indices to produce aweighted residual vector; a multiplier of the weighted residual vectorby the inverse weighting function to produce a residual vector; and anadder of the first-stage approximation with the residual vector toproduce a vector representative of the LPC filter in the quantizationdomain.
 13. An LPC filter inverse quantizing device according to claim12, wherein the inverse quantizer comprises a variable bit rate inversealgebraic vector quantizer.
 14. An LPC filter inverse quantizing deviceaccording to claim 12, wherein the quantization domain is a linespectral frequency domain.
 15. A method implemented in an encoder forquantizing a LPC filter in the form of an input vector in a quantizationdomain, comprising: providing a plurality of distinct quantizationmodes, wherein the quantization modes include an absolute quantizationmode and differential quantization modes, wherein the differentialquantization modes use respective, different references each based on apreviously quantized LPC filter or a combination of previously quantizedLPC filters; performing, for each of the plurality of distinctquantization modes, the following operations: computing a first-stageapproximation of the input vector, wherein the first stage approximationincludes (a) the result of absolute quantization of the input vector inthe case of the absolute quantization mode and (b) the reference in thecase of the differential quantization modes; subtracting the first-stageapproximation from the input vector to produce a residual vector;calculating weights of a weighting function using a mathematicalrelation including the first-stage approximation as a variable; applyingthe weights of the weighting function to the residual vector; andquantizing the weighted residual vector to supply a quantized weightedresidual vector; selecting one of the quantization modes based on alevel of distortion; and transmitting from the encoder to a decoder theselected quantization mode, the first-stage approximation of the inputvector obtained using the selected quantization mode, and the quantizedweighted residual vector obtained using the selected quantization mode.16. An LPC filter quantizing method according to claim 15, furthercomprising converting the LPC filter in the quantization domain to formthe input vector.
 17. An LPC filter quantizing method according to claim15, further comprising multiplexing the first-stage approximation of theinput vector and the quantized weighted residual vector obtained usingthe selected quantization mode.
 18. An LPC filter quantizing methodaccording to claim 15, wherein calculating the weights of the weightingfunction comprises using the first-stage approximation and a scalingfactor which is dependent upon the selected quantization mode.
 19. AnLPC filter quantizing method according to claim 18, wherein the scalingfactor has a value chosen to attain at least one of a certain averagebit rate and a certain average distortion.
 20. An LPC filter quantizingmethod according to claim 15, wherein the quantization domain is a linespectral frequency domain.
 21. A method implemented in an encoder forquantizing a LPC filter in the form of an input vector in a quantizationdomain, comprising: providing a plurality of distinct quantizationmodes, wherein the quantization modes include an absolute quantizationmode and differential quantization modes, wherein the differentialquantization modes use respective, different references each based on apreviously quantized LPC filter or a combination of previously quantizedLPC filters; performing, for each of the plurality of distinctquantization modes, the following operations: computing a first-stageapproximation of the input vector, wherein the first stage approximationincludes (a) the result of absolute quantization of the input vector inthe case of the absolute quantization mode and (b) the reference in thecase of the differential quantization modes; subtracting the first-stageapproximation from the input vector to produce a residual vector;calculating weights of a weighting function using a mathematicalrelation including the first-stage approximation as a variable; applyingthe weights of the weighting function to the residual vector; andquantizing the weighted residual vector to supply a quantized weightedresidual vector; selecting one of the quantization modes based on alevel of distortion; and transmitting from the encoder to a decoder theselected quantization mode, the first-stage approximation of the inputvector obtained using the selected quantization mode, and the quantizedweighted residual vector obtained using the selected quantization mode;wherein quantizing the weighted residual vector comprises using avariable bit rate quantizer.
 22. An LPC filter quantizing methodaccording to claim 21, wherein using the variable bit rate quantizercomprises using an algebraic vector quantizer.
 23. A method implementedin a decoder for inverse quantizing a LPC filter quantized in anencoder, in the form of an input vector in a quantization domain, by aLPC filter quantizing method comprising (a) providing a plurality ofdistinct quantization modes, wherein the quantization modes include anabsolute quantization mode and differential quantization modes, whereinthe differential quantization modes use respective, different referenceseach based on a previously quantized LPC filter or a combination ofpreviously quantized LPC filters, (b) performing, for each of theplurality of distinct quantization modes, the following operations: (i)computing a first-stage approximation of the input vector, wherein thefirst stage approximation includes the result of absolute quantizationof the input vector in the case of the absolute quantization mode andthe reference in the case of the differential quantization modes, (ii)subtracting the first-stage approximation from the input vector toproduce a residual vector, (iii) calculating weights of a weightingfunction using a mathematical relation including the first-stageapproximation as a variable, (iv) applying the weights of the weightingfunction to the residual vector, and (v) quantizing the weightedresidual vector to supply a quantized weighted residual vector, (c)selecting one of the quantization modes based on a level of distortion,and (d) transmitting from the encoder to the decoder the selectedquantization mode, the first-stage approximation of the input vectorobtained using the selected quantization mode, and the quantizedweighted residual vector obtained using the selected quantization mode,the LPC filter inverse quantizing method comprising: receiving at thedecoder, from the encoder, coded indices representative of (a) thefirst-stage approximation from the selected quantization mode, (b) theselected quantization mode, and (c) the quantized weighted residualvector from the selected quantization mode; determining the selectedquantization mode using the received coded indices; calculating, inresponse to the received coded indices, the first-stage approximation asa function of the determined quantization mode; calculating an inverseweighting function from the first-stage approximation; inversequantizing the quantized weighted residual vector in response to thereceived coded indices to produce a weighted residual vector; applyingthe inverse weighting function to the weighted residual vector toproduce a residual vector; and adding the first-stage approximation withthe residual vector to produce a vector representative of the LPC filterin the quantization domain.
 24. An LPC filter inverse quantizing methodaccording to claim 23, wherein receiving the coded indices comprisesdemultiplexing the coded indices.
 25. An LPC filter inverse quantizingmethod according to claim 23, wherein inverse quantizing the quantizedweighted residual vector comprises variable bit rate inverse algebraicvector quantizing the quantized weighted residual vector.
 26. An LPCfilter inverse quantizing method according to claim 23, wherein applyingthe inverse weighting function to the weighted residual vector comprisesmultiplying the weighted residual vector by the inverse weightingfunction.
 27. An LPC filter inverse quantizing method according to claim23, wherein the quantization domain is a line spectral frequency domain.28. An LPC filter quantizing device according to claim 7, wherein acombination of the type of LPC filter, of the quantization mode, and ofthe first-stage approximation is selected from the group consisting of:LPC4 filter, with absolute quantization, and with 8-bit vectorquantization (VQ) approximation; LPC0 filter, with absolutequantization, and with 8-bit VQ approximation; LPC0 filter, withrelative LPC4 quantization, and with quantized LPC4 approximation; LPC2filter, with absolute quantization, and with 8-bit VQ approximation;LPC2 filter, with relative LPC4 quantization, and with quantized LPC4approximation; LPC1 filter, with absolute quantization, and with 8-bitVQ approximation; LPC1 filter, with relative (LPC0+LPC2)/2 quantization,and with quantized (LPC0+LPC2)/2 approximation; LPC1 filter, withrelative LPC2 quantization, and with quantized LPC2 approximation; LPC3filter, with absolute quantization, and with 8-bit VQ approximation;LPC3 filter, with relative (LPC2+LPC4)/2 quantization, and withquantized (LPC2+LPC4)/2 approximation; LPC3 filter, with relative LPC2quantization, and with quantized LPC2 approximation; and LPC3 filter,with relative LPC4 quantization, and with quantized LPC4 approximation;wherein the LPC0 filter is the LPC filter of a last frame of a previoussuper-frame, the LPC1 filter is the LPC filter of a first frame of acurrent super-frame, the LPC2 filter is the LPC filter of a second frameof the current super-frame, the LPC3 filter is the LPC filter of a thirdframe of the current super-frame and the LPC4 filter is the LPC filterof a fourth frame of the current super-frame.
 29. A method implementedin a decoder for inverse quantizing a LPC filter quantized in anencoder, in the form of an input vector in a quantization domain,comprising: providing a plurality of distinct quantization modes forquantizing the LPC filter, wherein the quantization modes include anabsolute quantization mode and differential quantization modes, whereinthe differential quantization modes use respective, different referenceseach based on a previously quantized LPC filter or a combination ofpreviously quantized LPC filters; receiving at the decoder, from theencoder, a bitstream; demultiplexing from the bitstream coded indicesrepresentative of: (a) one of the distinct quantization modes selectedin the encoder for quantizing the LPC filter and signaled in thebitstream from the encoder to the decoder using a variable-length binarycode; (b) a first-stage approximation of the input vector computed inthe encoder for the said one quantization mode, wherein the first-stageapproximation includes the result of absolute quantization of the inputvector in the case of the absolute quantization mode and the referencein the case of the differential quantization modes; (c) a quantizedweighted residual vector computed in the encoder for the said onequantization mode by (i) computing a residual vector, (ii) calculatingweights of a weighting function using a mathematical relation includingthe first-stage approximation as a variable and a scaling factor whichdepends on the determined quantization mode to control distortion, (iii)applying the weights of the weighting function to the residual vector,and (iv) quantizing the weighted residual vector to supply the quantizedweighted residual vector;  determining the quantization mode selectedfor quantizing the LPC filter using the demultiplexed coded indices fromthe bitstream, the determined quantization mode indicating how thefirst-stage approximation is computed; calculating, in response to thedemultiplexed coded indices, the first-stage approximation as a functionof the determined quantization mode; calculating weights of an inverseweighting function from the calculated first-stage approximation;inverse quantizing the quantized weighted residual vector in response tothe demultiplexed coded indices to produce a weighted residual vector;applying the weights of the inverse weighting function to the weightedresidual vector to produce the residual vector; and adding thecalculated first-stage approximation with the residual vector to producean output vector representative of the LPC filter in the quantizationdomain.
 30. An LPC filter inverse quantizing method according to claim29, wherein the quantized weighted residual vector is a quantizedweighted residual LSF vector, and the output vector representative ofthe LPC filter in the quantization domain from the adding operation is avector in LSF domain.
 31. An LPC filter inverse quantizing methodaccording to claim 29, wherein calculating the weights of the inverseweighting function uses a mathematical relation including the calculatedfirst-stage approximation as a variable and the scaling factor.
 32. AnLPC filter inverse quantizing method according to claim 29, whereininverse quantizing the quantized weighted residual vector to produce aweighted residual vector comprises using a variable bit rate inversealgebraic vector quantizer.